package com.fand.platform.authority.dao;

import java.util.List;
import java.util.Map;

import com.fand.dto.PaginationDto;
import com.fand.persistent.builder.ModelArgs;
import com.fand.persistent.builder.ModelBuilder;
import com.fand.persistent.builder.ModelBuilderUtils;
import com.fand.persistent.support.DaoJdbcSupport;
import com.fand.platform.authority.dto.RoleDto;
import com.fand.platform.authority.dto.RoleLoDto;
import com.fand.platform.authority.dto.RoleReOpAcDto;
import com.fand.platform.authority.dto.RoleReOpAcLoDto;

/**
 * 角色
 * 
 * @author yaoHT
 * 
 */
public class RoleJdbcDao extends DaoJdbcSupport implements RoleDao {

	@Override
	public int insertRoleBy1(RoleDto insertRole, String... insertProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertRole, insertProperties));
		return this.update("authority/role/insertRoleBy1", modelBuilder.build());
	}

	@Override
	public int insertRoleBy1_1(RoleDto insertRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertRole));
		return this.update("authority/role/insertRoleBy1", modelBuilder.build());
	}

	@Override
	public int insertRoleBy2(RoleDto insertRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertRole));

		return this.update("authority/role/insertRoleBy2", modelBuilder.build());
	}

	@Override
	public int deleteRoleBy1(RoleDto deleteRole, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteRole,
				whereEqProperties));

		return this.update("authority/role/deleteRoleBy1", modelBuilder.build());
	}

	@Override
	public int deleteRoleBy1_1(RoleDto deleteRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteRole));

		return this.update("authority/role/deleteRoleBy1", modelBuilder.build());
	}

	@Override
	public int deleteRoleBy2(RoleDto deleteRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteRole));

		return this.update("authority/role/deleteRoleBy2", modelBuilder.build());
	}

	@Override
	public int updateRoleBy1(RoleDto updateRole, String[] updateProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.UPDATE,
				updateRole, updateProperties), new ModelArgs(updateRole, whereEqProperties));

		return this.update("authority/role/updateRoleBy1", modelBuilder.build());
	}

	@Override
	public int updateRoleBy1_1(RoleDto updateRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(updateRole));

		return this.update("authority/role/updateRoleBy1", modelBuilder.build());
	}

	@Override
	public int updateRoleBy2(RoleDto updateRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(updateRole));

		return this.update("authority/role/updateRoleBy2", modelBuilder.build());
	}

	@Override
	public <R> R selectRoleBy1ForObject(Class<R> requiredType, RoleDto selectRole, String objectId,
			String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole,
				whereEqProperties));

		return this.selectForObject(requiredType, "authority/role/selectRoleBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectRoleBy1_1ForObject(Class<R> requiredType, RoleDto selectRole, String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole));

		return this.selectForObject(requiredType, "authority/role/selectRoleBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectRoleBy2ForObject(Class<R> requiredType, RoleDto selectRole, String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole));

		return this.selectForObject(requiredType, "authority/role/selectRoleBy2ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleBy1ForObjectList(Class<R> requiredType, RoleDto selectRole, String objectId,
			String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole,
				whereEqProperties));

		return this.selectForObjectList(requiredType, "authority/role/selectRoleBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleBy1_1ForObjectList(Class<R> requiredType, RoleDto selectRole, String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole));

		return this.selectForObjectList(requiredType, "authority/role/selectRoleBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleBy2ForObjectList(Class<R> requiredType, RoleDto selectRole, String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole));

		return this.selectForObjectList(requiredType, "authority/role/selectRoleBy2ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectRoleBy1ForMappedObject(Class<R> mappedClass, RoleDto selectRole, String[] selectProperties,
			String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObject(mappedClass, "authority/role/selectRoleBy1ForMappedObjectList",
				modelBuilder.build());
	}

	@Override
	public <R> R selectRoleBy1_1ForMappedObject(Class<R> mappedClass, RoleDto selectRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole));

		return this.selectForMappedObject(mappedClass, "authority/role/selectRoleBy1ForMappedObjectList",
				modelBuilder.build());
	}

	@Override
	public <R> R selectRoleBy2ForMappedObject(Class<R> mappedClass, RoleDto selectRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole));

		return this.selectForMappedObject(mappedClass, "authority/role/selectRoleBy2ForMappedObjectList",
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleBy1ForMappedObjectList(Class<R> mappedClass, RoleDto selectRole,
			String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObjectList(mappedClass, "authority/role/selectRoleBy1ForMappedObjectList",
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleBy1_1ForMappedObjectList(Class<R> mappedClass, RoleDto selectRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole));

		return this.selectForMappedObjectList(mappedClass, "authority/role/selectRoleBy1ForMappedObjectList",
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleBy2ForMappedObjectList(Class<R> mappedClass, RoleDto selectRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRole));

		return this.selectForMappedObjectList(mappedClass, "authority/role/selectRoleBy2ForMappedObjectList",
				modelBuilder.build());
	}

	@Override
	public <R> PaginationDto<R> paginationRoleBy1ForMappedObjectList(Class<R> mappedClass, RoleDto paginationRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(paginationRole));

		return this.paginationForMappedObjectList(mappedClass, "authority/role/selectRoleBy1ForObject",
				"authority/role/selectRoleBy1ForMappedObjectList", paginationRole.getPaginationNo(),
				paginationRole.getPaginationSize(), modelBuilder.build());
	}

	@Override
	public PaginationDto<Map<String, Object>> paginationRoleBy1ForMapList(RoleDto paginationRole) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(paginationRole));

		return this.paginationForMapList("authority/role/selectRoleBy1ForObject",
				"authority/role/selectRoleBy1ForMappedObjectList", paginationRole.getPaginationNo(),
				paginationRole.getPaginationSize(), modelBuilder.build());
	}

	@Override
	public int insertRoleLoBy1(RoleLoDto insertRoleLo, String... insertProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertRoleLo, insertProperties));
		return this.update("authority/roleLo/insertRoleLoBy1", modelBuilder.build());
	}

	@Override
	public int deleteRoleLoBy1(RoleLoDto deleteRoleLo, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteRoleLo,
				whereEqProperties));

		return this.update("authority/roleLo/deleteRoleLoBy1", modelBuilder.build());
	}

	@Override
	public int updateRoleLoBy1(RoleLoDto updateRoleLo, String[] updateProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.UPDATE,
				updateRoleLo, updateProperties), new ModelArgs(updateRoleLo, whereEqProperties));

		return this.update("authority/roleLo/updateRoleLoBy1", modelBuilder.build());
	}

	@Override
	public <R> R selectRoleLoBy1ForObject(Class<R> requiredType, RoleLoDto selectRoleLo, String objectId,
			String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleLo,
				whereEqProperties));

		return this.selectForObject(requiredType, "authority/roleLo/selectRoleLoBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleLoBy1ForObjectList(Class<R> requiredType, RoleLoDto selectRoleLo, String objectId,
			String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleLo,
				whereEqProperties));

		return this.selectForObjectList(requiredType, "authority/roleLo/selectRoleLoBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectRoleLoBy1ForMappedObject(Class<R> mappedClass, RoleLoDto selectRoleLo,
			String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleLo,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObject(mappedClass, "authority/roleLo/selectRoleLoBy1ForMappedObjectList",
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleLoBy1ForMappedObjectList(Class<R> mappedClass, RoleLoDto selectRoleLo,
			String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleLo,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObjectList(mappedClass, "authority/roleLo/selectRoleLoBy1ForMappedObjectList",
				modelBuilder.build());
	}

	@Override
	public int insertRoleReOpAcBy1(RoleReOpAcDto insertRoleReOpAc, String... insertProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertRoleReOpAc, insertProperties));
		return this.update("authority/roleReOpAc/insertRoleReOpAcBy1", modelBuilder.build());
	}

	@Override
	public int insertRoleReOpAcBy1_1(RoleReOpAcDto insertRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertRoleReOpAc));
		return this.update("authority/roleReOpAc/insertRoleReOpAcBy1", modelBuilder.build());
	}

	@Override
	public int insertRoleReOpAcBy2(RoleReOpAcDto insertRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertRoleReOpAc));

		return this.update("authority/roleReOpAc/insertRoleReOpAcBy2", modelBuilder.build());
	}

	@Override
	public int deleteRoleReOpAcBy1(RoleReOpAcDto deleteRoleReOpAc, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteRoleReOpAc,
				whereEqProperties));

		return this.update("authority/roleReOpAc/deleteRoleReOpAcBy1", modelBuilder.build());
	}

	@Override
	public int deleteRoleReOpAcBy1_1(RoleReOpAcDto deleteRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteRoleReOpAc));

		return this.update("authority/roleReOpAc/deleteRoleReOpAcBy1", modelBuilder.build());
	}

	@Override
	public int deleteRoleReOpAcBy2(RoleReOpAcDto deleteRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteRoleReOpAc));

		return this.update("authority/roleReOpAc/deleteRoleReOpAcBy2", modelBuilder.build());
	}

	@Override
	public int updateRoleReOpAcBy1(RoleReOpAcDto updateRoleReOpAc, String[] updateProperties,
			String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.UPDATE,
				updateRoleReOpAc, updateProperties), new ModelArgs(updateRoleReOpAc, whereEqProperties));

		return this.update("authority/roleReOpAc/updateRoleReOpAcBy1", modelBuilder.build());
	}

	@Override
	public int updateRoleReOpAcBy1_1(RoleReOpAcDto updateRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(updateRoleReOpAc));

		return this.update("authority/roleReOpAc/updateRoleReOpAcBy1", modelBuilder.build());
	}

	@Override
	public int updateRoleReOpAcBy2(RoleReOpAcDto updateRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(updateRoleReOpAc));

		return this.update("authority/roleReOpAc/updateRoleReOpAcBy2", modelBuilder.build());
	}

	@Override
	public <R> R selectRoleReOpAcBy1ForObject(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc,
			String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc,
				whereEqProperties));

		return this.selectForObject(requiredType, "authority/roleReOpAc/selectRoleReOpAcBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectRoleReOpAcBy1_1ForObject(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc,
			String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc));

		return this.selectForObject(requiredType, "authority/roleReOpAc/selectRoleReOpAcBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectRoleReOpAcBy2ForObject(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc, String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc));

		return this.selectForObject(requiredType, "authority/roleReOpAc/selectRoleReOpAcBy2ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleReOpAcBy1ForObjectList(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc,
			String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc,
				whereEqProperties));

		return this.selectForObjectList(requiredType, "authority/roleReOpAc/selectRoleReOpAcBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleReOpAcBy1_1ForObjectList(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc,
			String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc));

		return this.selectForObjectList(requiredType, "authority/roleReOpAc/selectRoleReOpAcBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleReOpAcBy2ForObjectList(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc,
			String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc));

		return this.selectForObjectList(requiredType, "authority/roleReOpAc/selectRoleReOpAcBy2ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectRoleReOpAcBy1ForMappedObject(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc,
			String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObject(mappedClass,
				"authority/roleReOpAc/selectRoleReOpAcBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> R selectRoleReOpAcBy1_1ForMappedObject(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc));

		return this.selectForMappedObject(mappedClass,
				"authority/roleReOpAc/selectRoleReOpAcBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> R selectRoleReOpAcBy2ForMappedObject(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc));

		return this.selectForMappedObject(mappedClass,
				"authority/roleReOpAc/selectRoleReOpAcBy2ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleReOpAcBy1ForMappedObjectList(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc,
			String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObjectList(mappedClass,
				"authority/roleReOpAc/selectRoleReOpAcBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleReOpAcBy1_1ForMappedObjectList(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc));

		return this.selectForMappedObjectList(mappedClass,
				"authority/roleReOpAc/selectRoleReOpAcBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleReOpAcBy2ForMappedObjectList(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAc));

		return this.selectForMappedObjectList(mappedClass,
				"authority/roleReOpAc/selectRoleReOpAcBy2ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> PaginationDto<R> paginationRoleReOpAcBy1ForMappedObjectList(Class<R> mappedClass,
			RoleReOpAcDto paginationRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(paginationRoleReOpAc));

		return this.paginationForMappedObjectList(mappedClass, "authority/roleReOpAc/selectRoleReOpAcBy1ForObject",
				"authority/roleReOpAc/selectRoleReOpAcBy1ForMappedObjectList",
				paginationRoleReOpAc.getPaginationNo(), paginationRoleReOpAc.getPaginationSize(),
				modelBuilder.build());
	}

	@Override
	public PaginationDto<Map<String, Object>> paginationRoleReOpAcBy1ForMapList(RoleReOpAcDto paginationRoleReOpAc) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(paginationRoleReOpAc));

		return this.paginationForMapList("authority/roleReOpAc/selectRoleReOpAcBy1ForObject",
				"authority/roleReOpAc/selectRoleReOpAcBy1ForMappedObjectList",
				paginationRoleReOpAc.getPaginationNo(), paginationRoleReOpAc.getPaginationSize(),
				modelBuilder.build());
	}

	@Override
	public int insertRoleReOpAcLoBy1(RoleReOpAcLoDto insertRoleReOpAcLo, String... insertProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertRoleReOpAcLo, insertProperties));
		return this.update("authority/roleReOpAcLo/insertRoleReOpAcLoBy1", modelBuilder.build());
	}

	@Override
	public int deleteRoleReOpAcLoBy1(RoleReOpAcLoDto deleteRoleReOpAcLo, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteRoleReOpAcLo,
				whereEqProperties));

		return this.update("authority/roleReOpAcLo/deleteRoleReOpAcLoBy1", modelBuilder.build());
	}

	@Override
	public int updateRoleReOpAcLoBy1(RoleReOpAcLoDto updateRoleReOpAcLo, String[] updateProperties,
			String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.UPDATE,
				updateRoleReOpAcLo, updateProperties), new ModelArgs(updateRoleReOpAcLo, whereEqProperties));

		return this.update("authority/roleReOpAcLo/updateRoleReOpAcLoBy1", modelBuilder.build());
	}

	@Override
	public <R> R selectRoleReOpAcLoBy1ForObject(Class<R> requiredType, RoleReOpAcLoDto selectRoleReOpAcLo,
			String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAcLo,
				whereEqProperties));

		return this.selectForObject(requiredType, "authority/roleReOpAcLo/selectRoleReOpAcLoBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleReOpAcLoBy1ForObjectList(Class<R> requiredType, RoleReOpAcLoDto selectRoleReOpAcLo,
			String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAcLo,
				whereEqProperties));

		return this.selectForObjectList(requiredType, "authority/roleReOpAcLo/selectRoleReOpAcLoBy1ForObject",
				objectId, modelBuilder.build());
	}

	@Override
	public <R> R selectRoleReOpAcLoBy1ForMappedObject(Class<R> mappedClass, RoleReOpAcLoDto selectRoleReOpAcLo,
			String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAcLo,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObject(mappedClass,
				"authority/roleReOpAcLo/selectRoleReOpAcLoBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectRoleReOpAcLoBy1ForMappedObjectList(Class<R> mappedClass,
			RoleReOpAcLoDto selectRoleReOpAcLo, String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectRoleReOpAcLo,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObjectList(mappedClass,
				"authority/roleReOpAcLo/selectRoleReOpAcLoBy1ForMappedObjectList", modelBuilder.build());
	}
}